1. Field of the Disclosure
Embodiments of the present invention relates to an apparatus and method for transmitting encoded video stream.
2. Discussion of the Related Art
High Definition (HD) video streaming over WLANs has become a viable and important technology as network bandwidth continues to improve and the use of Smart-phones, Mobile Internet Devices, and Wireless display devices increases.
Some notable HD wireless streaming technologies include Apple AirPlay®, Intel WiDi®, and Cavium WiVu®, which are deployed in an ad hoc mode. The state-of-the-art video compression standard H.264 facilitates wireless video streaming by providing more efficient compression algorithm and thus less data needs to be transmitted through the network. Moreover, H.264 provides many error-resilience and network-friendly features, such as Data Partitioning (DP), Flexible Macroblock Ordering (FMO), and Network Adaption Layer (NAL) structure. However, wireless HD video streaming still faces many challenges. This is because, unlike transmitting traditional data, video streaming requires not only data integrity but also frames have strict playout deadline in the presence of packet delay and loss. Both of these factors are also closely related to streaming protocols.
Transmission Control Protocol (TCP) and User Datagram Protocol (UDP) are the two fundamental Transport Layer protocols used to transmit video data through the network. TCP is a reliable protocol but delay and bandwidth consumption increase due to re-transmissions of lost packets, which further increase the likelihood of packet loss. For example, HTTP-based streaming video relies on TCP. Much work has been done to hide or reduce delay caused by TCP, but this remains a major problem for real-time video streaming. By contrast, UDP offers minimal delay but does not guarantee delivery of packets. These lost packets cause errors that propagate to subsequent frames.
Although considerable amount of research has been done on both TCP and UDP to improve video streaming in general, little attention has been paid to utilize the advantages of using both TCP and UDP for wireless video streaming. Recently, Porter and Peng proposed a Hybrid TCP/UDP streaming method, which relies on TCP to transmit higher priority data and UDP to transmit lower priority data. However, they did not actually implement their method in a realistic network environment and instead used a tool to randomly remove data from an encoded video locally in order to simulate packet loss caused by UDP. This evaluation process lacks rigor and prevents them from providing meaningful results, such as visual quality and buffering time caused by using both TCP and UDP.
The following discusses several existing prior patents related to the video streaming. In U.S. Pat. No. 8,356,109, the quality of received video is improved by sending intra-coded frames and high-priority inter-coded frames over multiple TCP channels, and low-priority inter-coded frames over multiple UDP channels. This invention focuses on networks with multiple communication channels. In addition, the segregation of high-priority and low-priority data is done at the frame level. However, multiple communication channels may not be always viable. For example, in a home environment, video streaming is done in a point-to-point fashion, which means only one communication channel is available. This invention is not applicable in this situation. Moreover, this invention can transmit only complete frames over TCP channels.
In U.S. Publication No. 20120173748, both TCP and UDP protocols are used to stream media. The invention delivers the higher-priority media data to the client over TCP, and the lower-priority media data to the client over UDP. Although this invention does not specifically define what higher-priority and lower-priority data are, it states the following: “In an instance in which the media data is encoded as a series of pictures, the first portion of media data comprises higher-priority intra-coded pictures and the second portion of the media data comprises one or more lower-priority inter-coded pictures.” The above statement clearly indicates that this invention partitions the data at the frame level. Moreover, higher-priority data is defined as intra-coded frames, while lower-priority data as inter-coded frames. In addition, this invention does not consider initial buffering and re-buffering, which are key metrics for Quality of Experience (QoE) of video streaming.
In U.S. Pat. No. 6,771,594, this invention monitors Quality of Service (QoS) of real-time data streaming. If the QoS falls below a threshold, the real-time data is routed through a reliable network service such as TCP. If QoS is adequate, data is routed to a non-reliable network service such as UDP. The quality of received real-time data may fluctuate by using this invention. When QoS falls below a threshold and thus the rest of data is routed to TCP, there is already a period of time during which the streaming video quality will be poor. Therefore, the quality of streaming may not be consistent because of the constant switching between TCP and UDP. Moreover, this invention applies only to Voice over IP (VoIP), which is significantly less data intensive than video streaming.